home *** CD-ROM | disk | FTP | other *** search
-
- # OStrCmpNC(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)
-
- .text
- .global _OStrCmpNC
-
- _OStrCmpNC:
- subi r3,r3,1
- subi r4,r4,1
- .loop: lbzu r7,1(r3)
- lbzu r6,1(r4)
-
- cmplwi r7,91
- bgt .next1
- cmplwi r7,65
- blt .next1
- addi r7,r7,32
- .next1:
- cmplwi r6,91
- bgt .next2
- cmplwi r6,65
- blt .next2
- addi r6,r6,32
- .next2:
- cmpw r6,r7
- bne .nosame # strings are different
- mr. r7,r7 # zero (eos) byte?
- beq .same
- subi r5,r5,1
- mr. r5,r5
- bne .loop
-
- .same: li r3,0
- blr
- .nosame: cmpw r6,r7
- bgt .greater
- li r3,-1
- blr
- .greater: li r3,1
- blr
-
- .type _OStrCmpNC,@function
- .size _OStrCmpNC,$-_OStrCmpNC
-